package com.yict.csms.resourceplan.entity;

import java.util.Date;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.yict.csms.system.entity.DataDict;
import com.yict.csms.system.entity.User;

/**
 * 
 * @author Patrick.Deng
 * 
 */
@Entity
@Table(name = "CSMS_SHIP")
public class ShipCsms {

	@Id
	@Column(name = "SHIPID")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "csms_ship_seq")
	@SequenceGenerator(name = "csms_ship_seq", sequenceName = "SEQ_CSMS_SHIP", allocationSize = 1, initialValue = 1)
	private Long shipId;

	@Column(name = "SHIPNAME")
	private String shipName;

	@Column(name = "VOYAGE")
	private String voyage;

	@ManyToOne
	@JoinColumn(name = "SOURCE")
	private DataDict source;

	@ManyToOne
	@JoinColumn(name = "SHIPTYPE")
	private DataDict shipType;

	@Column(name = "QCLIST")
	private String qcList;

	@Column(name = "WORKERGROUP1")
	private Long workerGroup1;

	@ManyToOne
	@JoinColumn(name = "WORKERGROUPTYPE1")
	private DataDict workerGroupType1;

	@Column(name = "WORKERGROUP2")
	private Long workerGroup2;

	@ManyToOne
	@JoinColumn(name = "WORKERGROUPTYPE2")
	private DataDict workerGroupType2;

	@ManyToOne
	@JoinColumn(name = "SHIPOPTION")
	private DataDict shipOption;

	@Column(name = "CARQUAN")
	private Long carQuan;

	@Column(name = "BERTHID")
	private String berthId;

	@Column(name = "ETB")
	private Date etb;

	@Column(name = "ETD")
	private Date etd;

	@Column(name = "ETDSTUTAS")
	private String etdStutas;

	@Column(name = "TCC")
	private Date tcc;

	@Column(name = "DS")
	private Long ds;

	@Column(name = "DSW")
	private Long dsw;

	@Column(name = "DSN")
	private Long dsn;

	@Column(name = "LD")
	private Long ld;

	@Column(name = "LDN")
	private Long ldn;

	@Column(name = "LDW")
	private Long ldw;

	@Column(name = "RS")
	private Long rs;

	@Column(name = "SH")
	private Long sh;

	@Column(name = "HC")
	private Long hc;

	@ManyToOne
	@JoinColumn(name = "STATUS")
	private DataDict status;

	@Column(name = "ISATTENDCAR")
	private String isAttendCar;

	@Column(name = "ISBILLING")
	private String isBilling;

	@Column(name = "REMARKS")
	private String remarks;

	@ManyToOne
	@JoinColumn(name = "CREATEPERSON")
	private User createperson;

	@Column(name = "CREATEDATE")
	private Date createdate;

	@ManyToOne
	@JoinColumn(name = "UPDATEPERSON")
	private User updateperson;

	@Column(name = "UPDATEDATE")
	private Date updatedate;

	@OneToMany(mappedBy="ship")
	@JoinColumn(name = "SHIPID")
	public Set<ShipPlan> shipPlanSet;

	@Column(name = "RSN")
	private Long rsn;

	@Column(name = "RSW")
	private Long rsw;
	
	@Column(name = "SHN")
	private Long shn;
	
	@Column(name = "SHW")
	private Long shw;
	
	@Column(name = "ATB")
	private Date atb;
	
	@Column(name = "ATD")
	private Date atd;
	
	@Column(name = "VOYID_COMPANY")
	private String voyidCompany;
	
	public Long getShipId() {
		return shipId;
	}

	public void setShipId(Long shipId) {
		this.shipId = shipId;
	}

	public String getShipName() {
		return shipName;
	}

	public void setShipName(String shipName) {
		this.shipName = shipName;
	}

	public String getVoyage() {
		return voyage;
	}

	public void setVoyage(String voyage) {
		this.voyage = voyage;
	}

	public DataDict getSource() {
		return source;
	}

	public void setSource(DataDict source) {
		this.source = source;
	}

	public DataDict getShipType() {
		return shipType;
	}

	public void setShipType(DataDict shipType) {
		this.shipType = shipType;
	}

	public String getQcList() {
		return qcList;
	}

	public void setQcList(String qcList) {
		this.qcList = qcList;
	}

	public Long getWorkerGroup1() {
		return workerGroup1;
	}

	public void setWorkerGroup1(Long workerGroup1) {
		this.workerGroup1 = workerGroup1;
	}

	public DataDict getWorkerGroupType1() {
		return workerGroupType1;
	}

	public void setWorkerGroupType1(DataDict workerGroupType1) {
		this.workerGroupType1 = workerGroupType1;
	}

	public Long getWorkerGroup2() {
		return workerGroup2;
	}

	public void setWorkerGroup2(Long workerGroup2) {
		this.workerGroup2 = workerGroup2;
	}

	public DataDict getWorkerGroupType2() {
		return workerGroupType2;
	}

	public void setWorkerGroupType2(DataDict workerGroupType2) {
		this.workerGroupType2 = workerGroupType2;
	}

	public DataDict getShipOption() {
		return shipOption;
	}

	public void setShipOption(DataDict shipOption) {
		this.shipOption = shipOption;
	}

	public Long getCarQuan() {
		return carQuan;
	}

	public void setCarQuan(Long carQuan) {
		this.carQuan = carQuan;
	}

	public String getBerthId() {
		return berthId;
	}

	public void setBerthId(String berthId) {
		this.berthId = berthId;
	}

	public Date getEtb() {
		return etb;
	}

	public void setEtb(Date etb) {
		this.etb = etb;
	}

	public Date getEtd() {
		return etd;
	}

	public void setEtd(Date etd) {
		this.etd = etd;
	}

	public String getEtdStutas() {
		return etdStutas;
	}

	public void setEtdStutas(String etdStutas) {
		this.etdStutas = etdStutas;
	}

	public Date getTcc() {
		return tcc;
	}

	public void setTcc(Date tcc) {
		this.tcc = tcc;
	}

	public Long getDs() {
		return ds;
	}

	public void setDs(Long ds) {
		this.ds = ds;
	}

	public Long getDsw() {
		return dsw;
	}

	public void setDsw(Long dsw) {
		this.dsw = dsw;
	}

	public Long getDsn() {
		return dsn;
	}

	public void setDsn(Long dsn) {
		this.dsn = dsn;
	}

	public Long getLd() {
		return ld;
	}

	public void setLd(Long ld) {
		this.ld = ld;
	}

	public Long getLdn() {
		return ldn;
	}

	public void setLdn(Long ldn) {
		this.ldn = ldn;
	}

	public Long getLdw() {
		return ldw;
	}

	public void setLdw(Long ldw) {
		this.ldw = ldw;
	}

	public Long getRs() {
		return rs;
	}

	public void setRs(Long rs) {
		this.rs = rs;
	}

	public Long getSh() {
		return sh;
	}

	public void setSh(Long sh) {
		this.sh = sh;
	}

	public Long getHc() {
		return hc;
	}

	public void setHc(Long hc) {
		this.hc = hc;
	}

	public DataDict getStatus() {
		return status;
	}

	public void setStatus(DataDict status) {
		this.status = status;
	}

	public String getIsAttendCar() {
		return isAttendCar;
	}

	public void setIsAttendCar(String isAttendCar) {
		this.isAttendCar = isAttendCar;
	}

	public String getIsBilling() {
		return isBilling;
	}

	public void setIsBilling(String isBilling) {
		this.isBilling = isBilling;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public User getCreateperson() {
		return createperson;
	}

	public void setCreateperson(User createperson) {
		this.createperson = createperson;
	}

	public Date getCreatedate() {
		return createdate;
	}

	public void setCreatedate(Date createdate) {
		this.createdate = createdate;
	}

	public User getUpdateperson() {
		return updateperson;
	}

	public void setUpdateperson(User updateperson) {
		this.updateperson = updateperson;
	}

	public Date getUpdatedate() {
		return updatedate;
	}

	public void setUpdatedate(Date updatedate) {
		this.updatedate = updatedate;
	}

	public Set<ShipPlan> getShipPlanSet() {
		return shipPlanSet;
	}

	public void setShipPlanSet(Set<ShipPlan> shipPlanSet) {
		this.shipPlanSet = shipPlanSet;
	}

	public Long getRsn() {
		return rsn;
	}

	public void setRsn(Long rsn) {
		this.rsn = rsn;
	}

	public Long getRsw() {
		return rsw;
	}

	public void setRsw(Long rsw) {
		this.rsw = rsw;
	}

	public Long getShn() {
		return shn;
	}

	public void setShn(Long shn) {
		this.shn = shn;
	}

	public Long getShw() {
		return shw;
	}

	public void setShw(Long shw) {
		this.shw = shw;
	}

	public Date getAtb() {
		return atb;
	}

	public void setAtb(Date atb) {
		this.atb = atb;
	}

	public Date getAtd() {
		return atd;
	}

	public void setAtd(Date atd) {
		this.atd = atd;
	}

	public String getVoyidCompany() {
		return voyidCompany;
	}

	public void setVoyidCompany(String voyidCompany) {
		this.voyidCompany = voyidCompany;
	}
	
}
